// 关于员工模块的请求接口
import request from '@/utils/request'

/**
 * 获取员工简单列表
 * @returns {AxiosPromise}
 */
export function getPloyeesList() {
  return request({
    url: '/sys/user/simple'
  })
}

/**
 * 获取员工列表
 * @param {Object} params {page,size}
 * @returns {AxiosPromise}
 */
export function getEmployeesList(params) {
  return request({
    url: '/sys/user',
    params
  })
}

/**
 * 新增员工
 * @param {Object} data
 * @returns
 */
export function addEmployees(data) {
  return request({
    url: '/sys/user',
    method: 'POST',
    data
  })
}

/**
 * 批量导入员工
 * @param {Array} data
 * @returns
 */
export const importEmployees = data => request({
  url: '/sys/user/batch',
  method: 'POST',
  data
})

/**
 * 获取员工个人信息
 * @param id
 * @returns {AxiosPromise}
 */
export function loadEmpPersonAllInfo(id) {
  return request({
    url: `/employees/${id}/personalInfo`
  })
}

/**
 * 保存员工个人信息
 * @param data
 * @returns {AxiosPromise}
 */
export function saveEmpPersonAllInfo(data) {
  return request({
    url: `/employees/${data.id}/personalInfo`,
    method: 'PUT',
    data
  })
}

/**
 * 获取员工岗位信息
 * @param id
 * @returns {AxiosPromise}
 */
export function loadEmpJobInfo(id) {
  return request({
    url: `/employees/${id}/jobs`
  })
}

/**
 * 保存员工岗位信息
 * @param data
 * @returns {AxiosPromise}
 */
export function saveEmpJobInfo(data) {
  return request({
    url: `/employees/${data.userId}/jobs`,
    method: 'PUT',
    data
  })
}

/**
 * 给员工分配角色
 * @param {Object} data {id,roleIds}
 * @returns
 */
export function assignRoles(data) {
  return request({
    url: '/sys/user/assignRoles',
    method: 'PUT',
    data
  })
}
